/*
 * Common.hpp
 *
 *  Created on: 2010-9-15
 *      Author: anod
 */

#ifndef COMMON_HPP_
#define COMMON_HPP_

#include <Common/ModuleObject.hpp>
#include <cstddef>

/**
 * 定义动态链接库来的调用函数的类型
 */
typedef int (*parse_func)();

inline ModuleObject* load_dep( ModuleObject &mod )
{
	if( mod.dep==NULL ) return 0;

	ModuleObject **iter = mod.dep;
	while( *iter!=NULL )
	{
		(*iter)->module_init();
		if( (*iter)->state!=ModuleObject::MODULE_STATE_READY )
			break;
		++iter;
	}
	return *iter;
}

#endif /* COMMON_HPP_ */
